//package com.tdcoding.chat.action;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import com.tdcoding.chat.action.common.ActionContext;
//import com.tdcoding.chat.constants.ChatConstants;
//import com.tdcoding.chat.dbase.DBForComplain;
//import com.tdcoding.chat.dbase.DBForGallery;
//import com.tdcoding.chat.dbase.DBForGroup;
//import com.tdcoding.chat.dbase.DBForRegion;
//import com.tdcoding.chat.entities.ChatInfo;
//import com.tdcoding.chat.entities.ComplainInfo;
//import com.tdcoding.chat.entities.ImageInfo;
//import com.tdcoding.chat.entities.GroupInfo;
//import com.tdcoding.chat.entities.MemberInfo;
//import com.tdcoding.chat.entities.RegionInfo;
//import com.tdcoding.chat.entities.RequestInfo;
//import com.tdcoding.chat.helper.Logger;
//
//import io.netty.channel.Channel;
//
//public class GroupAction extends BaseAction {
//	/**
//	 * 创建群
//	 * 
//	 */
//	public void createGroup(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "createGroup", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo=(GroupInfo) parameters[0];
//		int result = DBForGroup.createGroup(requestInfo.getUserId(),requestInfo.getUserHead(),groupInfo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//	
//	/**
//	 * 创建群
//	 * 
//	 
//	 */
//	public void createDisgroup(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "createDisgroup", requestInfo);
//		int result = DBForGroup.createDisgroup(requestInfo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 请求加入群
//	 * 
//	 */
//	public void joinToGroup(Channel channel, RequestInfo requestInfo)  {
//		Logger.println(this, "joinToGroup", requestInfo);
//		int result = DBForGroup.joinToGroup(requestInfo,false);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//		if (result!=-1) {
//			Object[] parameters=requestInfo.getParameters();
//			GroupInfo groupInfo=(GroupInfo) parameters[0];
//			String remarkInfo=parameters[1].toString();
//			ChatInfo chatInfo = getChatInfo(requestInfo.getPacketId(),
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE,
//					ChatConstants.CHAT_BODYTYPE_JOIN_TO_GROUP);
//			chatInfo.setChatId(requestInfo.getUserId());
//			chatInfo.setChatHead(requestInfo.getUserHead());
//			chatInfo.setChatName(requestInfo.getNickName());
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToHead(groupInfo.getGroupLogo());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			chatInfo.setChatContent(remarkInfo);
//			List<MemberInfo> lMemberInfos = DBForGroup.queryAdministrator(
//					groupInfo.getGroupId());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//
//	/**
//	 * 邀请加入群(可多个)
//	 * 
//	 */
//	@SuppressWarnings("unchecked")
//	public void inviteToGroup(Channel channel,RequestInfo requestInfo)   {
//		Logger.println(this, "inviteToGroup", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo= (GroupInfo) parameters[0];
//		List<MemberInfo> lMemberInfos =(List<MemberInfo>) parameters[1];
//		if (lMemberInfos != null && lMemberInfos.size() == 0) {
//			return;
//		}
//		ChatInfo chatInfo = getChatInfo(requestInfo.getPacketId(),
//				ChatConstants.CHAT_TYPE_GROUP_NOTICE,
//				ChatConstants.CHAT_BODYTYPE_INVITE_TO_GROUP);
//		chatInfo.setChatId(requestInfo.getUserId());
//		chatInfo.setChatHead(requestInfo.getUserHead());
//		chatInfo.setChatName(requestInfo.getNickName());
//		chatInfo.setChatToId(groupInfo.getGroupId());
//		chatInfo.setChatToHead(groupInfo.getGroupLogo());
//		chatInfo.setChatToName(groupInfo.getGroupName());
//		chatInfo.setChatContent(requestInfo.getNickName() + "邀请您加入群 "+groupInfo.getGroupName());
//		for (MemberInfo memberInfo : lMemberInfos) {
//			int result = DBForGroup.inviteToGroup(
//					groupInfo.getGroupId(), memberInfo);
//			if (result==0) {
//				chatInfo.setChatToRid(memberInfo.getMemberId());
//				ActionContext.chattingToUser(chatInfo,memberInfo.getMemberId());
//			}
//		}
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),0, "");
//	}
//
//	/**
//	 * 处理申请加入消息
//	 * 
//	 */
//	public void handleJoinToGroup(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "handleJoinToGroup", requestInfo);
//		long userId = requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo=(GroupInfo) parameters[0];
//		MemberInfo memberInfo=(MemberInfo) parameters[1];
//		int isMember = Integer.parseInt(parameters[2].toString());// 1同意；-1拒绝
//		String	set = "isMember=" + isMember;
//		String	where = "memberId=" + memberInfo.getMemberId() + " and groupId="
//					+ groupInfo.getGroupId();
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result > -1) {
//			long memberId = memberInfo.getMemberId();
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//			chatInfo.setApplyState(isMember);
//			chatInfo.setChatId(userId);
//			chatInfo.setChatHead(requestInfo.getUserHead());
//			chatInfo.setChatName(requestInfo.getNickName());
//			if (isMember == 1) {
//				chatInfo.setChatToId(groupInfo.getGroupId());
//				chatInfo.setChatToHead(groupInfo.getGroupLogo());
//				chatInfo.setChatToName(groupInfo.getGroupName());
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_AGREE_JOIN_GROUP);
//				List<MemberInfo> lMemberInfos = DBForGroup.queryAdministrator(groupInfo.getGroupId());
//				ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//			} else {
//				chatInfo.setChatToId(memberId);
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_REFUSE_JOIN_GROUP);
//				ActionContext.chattingToUser(chatInfo,memberId);
//			}
//		}
//	}
//	
//	/**
//	 * 处理邀请加入消息
//	 * 
//	 */
//	public void handleInviteToGroup(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "handleInviteToGroup", requestInfo);
//		long userId = requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo=(GroupInfo) parameters[0];
//		MemberInfo memberInfo=(MemberInfo) parameters[1];
//		int isMember = Integer.parseInt(parameters[2].toString());// 1同意；-1拒绝
//		String set = "isMember=" + isMember;
//		String where = "memberId=" + userId + " and groupId=" + groupInfo.getGroupId();
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result > -1) {
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//			chatInfo.setApplyState(isMember);
//			chatInfo.setChatId(userId);
//			chatInfo.setChatHead(requestInfo.getUserHead());
//			chatInfo.setChatName(requestInfo.getNickName());
//			if (isMember == 1) {
//				chatInfo.setChatToId(groupInfo.getGroupId());
//				chatInfo.setChatToHead(groupInfo.getGroupLogo());
//				chatInfo.setChatToName(groupInfo.getGroupName());
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_AGREE_INVITE_GROUP);
//				List<MemberInfo> lMemberInfos = DBForGroup.queryAdministrator(groupInfo.getGroupId());
//				ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//			} else {
//				chatInfo.setChatToId(memberInfo.getMemberId());
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_REFUSE_INVITE_GROUP);
//				ActionContext.chattingToUser(chatInfo,memberInfo.getMemberId());
//			}
//
//		}
//	}
//
//	/**
//	 * 处理授权管理员/撤销管理员
//	 * 
//	 */
//	public void handleGroupAdmin(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "handleGroupAdmin", requestInfo);
//		long userId=requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo=(GroupInfo) parameters[0];
//		long memberId=Long.parseLong(parameters[1].toString());
//		int isAdmin = Integer.parseInt(parameters[2].toString());
//		String set = "identity=" + isAdmin;
//		String where = "memberId=" +memberId+ " and groupId=" + groupInfo.getGroupId();
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result > -1) {
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//			chatInfo.setChatId(userId);
//			chatInfo.setChatName(requestInfo.getNickName());
//			chatInfo.setChatHead(requestInfo.getUserHead());
//			if (isAdmin == 1) {
//				chatInfo.setChatToId(groupInfo.getGroupId());
//				chatInfo.setChatToHead(groupInfo.getGroupLogo());
//				chatInfo.setChatToName(groupInfo.getGroupName());
//				List<MemberInfo> lMemberInfos = DBForGroup.queryValidMembers(groupInfo.getGroupId());
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_AUTHORIZED_ADMIN);
//				ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//			} else {
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_REVOKED_ADMIN);
//				chatInfo.setChatToId(memberId);
//				ActionContext.chattingToUser(chatInfo,memberId);
//			}
//		}
//	}
//
//	/**
//	 * 是否群成员
//	 */
//	public void isGroupMember(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "isGroupMember", requestInfo);
//		long userId = requestInfo.getUserId();
//		long groupId = Long.parseLong(requestInfo.getParameters()[0].toString());
//		int result = DBForGroup.isGroupMember(groupId, userId);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(), result, "");
//	}
//
//	/**
//	 * 搜群信息
//	 */
//	public void queryGroupInfo(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryGroupInfo", requestInfo);
//		long groupId = Long.parseLong(requestInfo.getParameters()[0].toString());
//		GroupInfo groupInfo = DBForGroup.queryGroupInfo(requestInfo.getUserId(),groupId);
//		Logger.println(this, "queryGroupInfo~", groupInfo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),0,groupInfo);
//	}
//	
//	/**
//	 * 搜群成员信息
//	 */
//	public void queryMemberInfo(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryMemberInfo", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		long memberId=Long.parseLong(parameters[1].toString());
//		MemberInfo memberInfo = DBForGroup.queryMemberInfo(requestInfo.getUserId(),groupId,memberId);
//		Logger.println(this, "queryMemberInfo~", memberInfo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),0,memberInfo);
//	}
//
//	/**
//	 * 搜索我的群
//	 */
//	public void queryMyGroup(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryMyGroup", requestInfo);
//		long userId = requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		int groupType=Integer.parseInt(requestInfo.getParameters()[0].toString());
//		List<GroupInfo> groupInfos = DBForGroup.queryGroupByUser(userId,groupType);
////		Logger.println(this, "queryMyGroup~", myGroupResp.getGroupInfoList());
//		if (groupInfos == null) {
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),-1, "");
//		} else {
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(), 0,groupInfos);
//		}
//	}
//
//	/**
//	 * 按关键字搜索群
//	 * 
//	 */
//	public void searchGroupList(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "searchGroupList", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		String keyword = parameters[0].toString();
//		int groupType = Integer.parseInt(parameters[1].toString());
//		int pageIndex =Integer.parseInt(parameters[2].toString());
//		int pageCount = Integer.parseInt(parameters[3].toString());
//		List<GroupInfo> groupInfos = DBForGroup.searchGroupList(
//				requestInfo.getUserId(),keyword,groupType,
//				pageIndex, pageCount);
//		Logger.println(this, "searchGroupList~", groupInfos.size());
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),0,
//				groupInfos);
//	}
//
//	/**
//	 * 获取群成员
//	 * 
//	 */
//	public void queryGroupMember(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryGroupMember", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		long groupId = Long.parseLong(parameters[0].toString());
//		int pageIndex =Integer.parseInt(parameters[1].toString());
//		int pageCount = Integer.parseInt(parameters[2].toString());
//		List<MemberInfo> memberInfos = DBForGroup.queryGroupMember(groupId,
//				pageIndex, pageCount);
////		Logger.println(this, "queryGroupMember~", queryMemberResp.getMemberInfoList());
//		if (memberInfos == null) {
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),-1, "");
//		} else {
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),0,
//					memberInfos);
//		}
//	}
//
//	/**
//	 * 更新群成员身份
//	 * 
//	 */
//	public void updateMemberIdentity(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateMemberIdentity", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		long memberId=Long.parseLong(parameters[1].toString());
//		int memberIdentity=Integer.parseInt(parameters[2].toString());
//		String where = "groupId=" + groupId+" and memberId="+memberId;
//		String set = "identity=" +memberIdentity;
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群名称
//	 * 
//	 */
//	public void updateGroupName(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupName", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		String where = "groupId=" +groupId;
//		String set = "groupName='" + parameters[1].toString() + "'";
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//	
//	/**
//	 * 更新群Logo
//	 */
//	public void updateGroupLogo(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupLogo", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		String groupLogo=parameters[1].toString();
//		int result = DBForGroup.updateGroupLogo(groupId,  groupLogo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群昵称
//	 * 
//	 */
//	public void updateGroupNickName(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupNickName", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		long memberId=Long.parseLong(parameters[1].toString());
//		String nickName=parameters[2].toString();
//		String where = "groupId=" +groupId+" and memberId="+memberId;
//		String set = "nickName='" + nickName+ "'";
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群简介
//	 * 
//	 */
//	public void updateGroupIntro(Channel channel,RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupIntro", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		String groupIntro=parameters[1].toString();
//		String where = "groupId=" + groupId;
//		String set = "groupIntro='" + groupIntro + "'";
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群公告
//	 * 
//	 */
//	public void updateGroupNotice(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupNotice",requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		String groupNotice=parameters[1].toString();
//		String where = "groupId=" + groupId;
//		String set = "groupNotice='" +groupNotice + "'";
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(), requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新是否允许被加群
//	 * 
//	 */
//	public void updateAllowedJoin(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateAllowedJoin", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		int allowedJoin=Integer.parseInt(parameters[1].toString());
//		String where = "groupId=" +groupId;
//		String set = "allowedJoin=" + allowedJoin;
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群成员等级
//	 * 
//	 */
//	public void updateGroupLevel(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupLevel", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		int groupLevel=Integer.parseInt(parameters[1].toString());
//		String where = "groupId=" +groupId;
//		String set = "groupLevel=" +groupLevel;
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//	
//	/**
//	 * 更新群成员等级
//	 * 
//	 
//	 */
//	public void updateMemberHonor(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateMemberHonor", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		long memberId=Long.parseLong(parameters[1].toString());
//		String memberHonor=parameters[2].toString();
//		String set = "memberHonor='" +memberHonor+"'";
//		String where = "groupId=" + groupId+ " and memberId=" +memberId;
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 更新群地址
//	 * 
//	 
//	 */
//	public void updateGroupRegion(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "updateGroupRegion", requestInfo);
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		RegionInfo regionInfo=(RegionInfo) parameters[1];
//		int result = DBForRegion.updateRegionInfo(groupId,1, regionInfo);
//		ActionContext.writeResponse(channel, requestInfo.getPacketId(),requestInfo.getMethod(),result, "");
//	}
//
//	/**
//	 * 踢除群成员
//	 * 
//	 */
//	public void kickoutGroupMember(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "kickoutGroupMember", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		GroupInfo groupInfo=(GroupInfo) requestInfo.getParameters()[0];
//		long groupId = groupInfo.getGroupId();
//		String groupLogo=groupInfo.getGroupLogo();
//		String groupName=groupInfo.getGroupName();
//		ChatInfo chatInfo = getChatInfo(packetId,
//				ChatConstants.CHAT_TYPE_GROUP_NOTICE,
//				ChatConstants.CHAT_BODYTYPE_KICKOUT_MEMBER);
//		chatInfo.setChatId(requestInfo.getUserId());
//		chatInfo.setChatName(requestInfo.getNickName());
//		chatInfo.setChatToId(groupId);
//		chatInfo.setChatToHead(groupLogo);
//		chatInfo.setChatToName(groupName);
//		List<MemberInfo> memberInfos=groupInfo.getMemberInfos();
//		for (MemberInfo memberInfo : memberInfos) {
//			long memberId =memberInfo.getMemberId();
//			chatInfo.setChatToRid(memberId);
//			int result = DBForGroup.kickoutMember(groupId, memberId);
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//			if (result!=-1) {
//				chatInfo.setChatContent("您已经被" +requestInfo.getNickName() + "请出"
//						+ groupName + "群");
//				ActionContext.chattingToUser(chatInfo,memberId);
//			}
//		}
//	}
//
//	/**
//	 * 处理(个人/群)禁言
//	 * 
//	 */
//	public void handleGroupSilence(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "handleGroupSilence", requestInfo);
//		long userId=requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		int isSilence = Integer.parseInt(parameters[0].toString());// 0取消；-1禁言
//		GroupInfo groupInfo = (GroupInfo) parameters[1];
//		String set = "isSilence=" + isSilence;
//		String	where = "groupId=" + groupInfo.getGroupId();
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		ChatInfo chatInfo = getChatInfo(packetId,
//				ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//		chatInfo.setChatId(userId);
//		chatInfo.setChatHead(requestInfo.getUserHead());
//		chatInfo.setChatName(requestInfo.getNickName());
//		if (result!=-1) {
//			if (isSilence == 0) {
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_GROUP_CANCELIT);
//			} else {
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_GROUP_SHUTUP);
//			}
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToHead(groupInfo.getGroupLogo());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			List<MemberInfo> lMemberInfos = DBForGroup
//					.queryValidMembers(groupInfo.getGroupId());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//	
//	/**
//	 * 处理(个人/群)禁言
//	 * 
//	 */
//	public void handleMemberSilence(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "handleMemberSilence", requestInfo);
//		long userId=requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		int isSilence = Integer.parseInt(parameters[0].toString());// 0取消；-1禁言
//		GroupInfo groupInfo = (GroupInfo) parameters[1];
//		MemberInfo memberInfo = (MemberInfo) parameters[2];
//		String set = "isSilence=" + isSilence;
//		String where = "memberId=" + memberInfo.getMemberId() + " and groupId=" + groupInfo.getGroupId();
//		int result = DBForGroup.updateMemberInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		ChatInfo chatInfo = getChatInfo(packetId,
//				ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//		chatInfo.setChatId(userId);
//		chatInfo.setChatName(requestInfo.getNickName());
//		chatInfo.setChatHead(requestInfo.getUserHead());
//		if (result!=-1) {
//			if (isSilence == 0) {
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_MEMBER_CANCELIT);
//			} else {
//				chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_MEMBER_SHUTUP);
//			}
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToHead(groupInfo.getGroupLogo());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			List<MemberInfo> lMemberInfos = DBForGroup
//					.queryValidMembers(groupInfo.getGroupId());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//	
//	/**
//	 * 转让群
//	 */
//	public void transferGroup(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "transferGroup", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo=(GroupInfo) parameters[0];
//		MemberInfo memberInfo=(MemberInfo) parameters[1];
//		String set = "belongId=" + memberInfo.getMemberId() + " , belongName='"
//				+ memberInfo.getMemberName() + "'";
//		String where = "groupId="+ groupInfo.getGroupId();
//		int result = DBForGroup.updateGroupInfo(set, where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result!=-1) {
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE);
//			chatInfo.setChatId(requestInfo.getUserId());
//			chatInfo.setChatName(requestInfo.getNickName());
////			chatInfo.setChatHead(transferGroupReq.getTransferHead());
//			
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			chatInfo.setBodyType(ChatConstants.CHAT_BODYTYPE_TRANSFER_GROUP);
//			List<MemberInfo> lMemberInfos = DBForGroup
//					.queryValidMembers(groupInfo.getGroupId());
//			chatInfo.setChatContent(requestInfo.getNickName() + "已将"
//					+ groupInfo.getGroupName() + "群转让给"+memberInfo.getMemberNick());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//
//	/**
//	 * 添加相册相片
//	 * @param channel
//	 * @param packet
//	 
//	 */
//	@SuppressWarnings("unchecked")
//	public void addGroupGallery(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "addGroupGallery", requestInfo);
//		String packetId=requestInfo.getPacketId();	
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		ArrayList<ImageInfo> galleryInfos=(ArrayList<ImageInfo>) parameters[1];
//		if (galleryInfos==null||galleryInfos.size()==0) {
//			ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),-1, "The lack of necessary parameters.");
//			return;
//		}
//		
//		List<ImageInfo> lGalleryInfos=(List<ImageInfo>) galleryInfos.clone();
//		for (ImageInfo galleryInfo : lGalleryInfos) {
//			int result=DBForGallery.deleteGroupGallery(groupId, galleryInfo.getImageLink());
//			if (result!=-1) {
//				galleryInfos.remove(galleryInfo);
//			}
//		}
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),0, galleryInfos);
//	}
//	
//	/**
//	 * 查询群相册
//	 * @param channel
//	 * @param requestInfo
//	 */
//	public void queryGroupGallery(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryGroupGallery", requestInfo);
//		String packetId=requestInfo.getPacketId();	
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		List<ImageInfo> lGalleryInfos=DBForGallery.queryGroupGallery(groupId);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),0, lGalleryInfos);
//	}
//	
//	/**
//	 * 删除群相册
//	 * @param channel
//	 * @param requestInfo
//	 */
//	@SuppressWarnings("unchecked")
//	public void deleteGroupGallery(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "deleteGroupGallery", requestInfo);
//		String packetId=requestInfo.getPacketId();	
//		Object[] parameters=requestInfo.getParameters();
//		long groupId=Long.parseLong(parameters[0].toString());
//		ArrayList<ImageInfo> galleryInfos=(ArrayList<ImageInfo>) parameters[1];
//		List<ImageInfo> lGalleryInfos=(List<ImageInfo>) galleryInfos.clone();
//		for (ImageInfo galleryInfo : lGalleryInfos) {
//			int result=DBForGallery.deleteGroupGallery(groupId, galleryInfo.getImageLink());
//			if (result!=-1) {
//				galleryInfos.remove(galleryInfo);
//			}
//		}
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),0, galleryInfos);
//	}
//	
//	/**
//	 * 退出群
//	 * 
//	 
//	 */
//	public void quitGroup(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "quitGroup", requestInfo);
//		long userId = requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		GroupInfo groupInfo = (GroupInfo) parameters[1];
//		int result = DBForGroup.kickoutMember(groupInfo.getGroupId(), userId);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result!=-1) {
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE,
//					ChatConstants.CHAT_BODYTYPE_QUIT_THE_GROUP);
//			chatInfo.setChatId(userId);
//			chatInfo.setChatName(requestInfo.getNickName());
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToHead(groupInfo.getGroupLogo());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			chatInfo.setChatContent(requestInfo.getNickName()+"已退出群");
//			List<MemberInfo> lMemberInfos = DBForGroup.queryAdministrator(groupInfo.getGroupId());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//
//	/**
//	 * 解散群(并通知所有群成员(仅限群主及管理员))
//	 * 
//	 */
//	public void dissolveGroup(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "dissolveGroup", requestInfo);
//		long userId = requestInfo.getUserId();
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		String memberName=parameters[0].toString();
//		GroupInfo groupInfo = (GroupInfo) parameters[1];
//		long groupId = groupInfo.getGroupId();
//		String where = "groupId='" + groupId + "'";
//		List<MemberInfo> lMemberInfos = DBForGroup.queryValidMembers(groupId);
//		int result = DBForGroup.deleteGroup(where);
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//		if (result!=-1) {
//			ChatInfo chatInfo = getChatInfo(packetId,
//					ChatConstants.CHAT_TYPE_GROUP_NOTICE,
//					ChatConstants.CHAT_BODYTYPE_DISSOLVE_GROUP);
//			chatInfo.setChatId(userId);
//			chatInfo.setChatName(memberName);
//			chatInfo.setChatToId(groupInfo.getGroupId());
//			chatInfo.setChatToHead(groupInfo.getGroupLogo());
//			chatInfo.setChatToName(groupInfo.getGroupName());
//			chatInfo.setChatContent(memberName + "解散了群 "
//					+ groupInfo.getGroupName());
//			ActionContext.dispatchGroupNotice(chatInfo, lMemberInfos);
//		}
//	}
//	
//	/**
//	 * 添加群举报
//	 */
//	public void addGroupComplain(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "addGroupComplain", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		int result = DBForComplain.addComplainInfo( requestInfo.getUserId(), requestInfo.getParameters());
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//	}
//	
//	/**
//	 * 查询群举报
//	 */
//	public void queryGroupComplain(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "queryGroupComplain", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		long complainId=Long.parseLong(parameters[0].toString());
//		int complainType=Integer.parseInt(parameters[1].toString());
//		List<ComplainInfo> complainInfos =null;
//		if (complainId!=0) {
//			complainInfos = DBForComplain.queryComplainById(requestInfo.getUserId(), complainId);
//		}
//		else{
//			complainInfos = DBForComplain.queryComplainByType(requestInfo.getUserId(), complainType);
//		}
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),0, complainInfos);
//	}
//	
//	public void deleteGroupComplain(Channel channel, RequestInfo requestInfo) {
//		Logger.println(this, "deleteGroupComplain", requestInfo);
//		String packetId = requestInfo.getPacketId();
//		Object[] parameters=requestInfo.getParameters();
//		long complainId=Long.parseLong(parameters[0].toString());
//		int complainType=Integer.parseInt(parameters[1].toString());
//		int result =-1;
//		if (complainId!=0) {
//			result = DBForComplain.deleteComplainById(requestInfo.getUserId(), complainId);
//		}
//		else{
//			result = DBForComplain.deleteComplainByType(requestInfo.getUserId(), complainType);
//		}
//		ActionContext.writeResponse(channel, packetId,requestInfo.getMethod(),result, "");
//	}
//	
//	public static void main(String[] args) {
//		ArrayList<String> list=new ArrayList<String>();
//		list.add("111");
//		list.add("112");
//		list.add("113");
//		for (String string : list) {
//			list.remove(string);
//		}
////		ArrayList<String> list1=(ArrayList<String>) list.clone();
////		list.clear();
////		int vari,varj;
////		vari=3;
////		varj=vari;
////		vari=0;
////		Logger.println("main", list.size()+"", list1.size()+"");
////		Logger.println("main",vari+"", list1.size()+"");
//	}
//}
